diff --git a/system/core/Input.php b/system/core/Input.php
index 6be4b9a..12332cf 100644
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -490,9 +490,9 @@
 								)
 							);
 
-							for ($i = 0; $i < 8; $i++)
+							for ($j = 0; $j < 8; $j++)
 							{
-								$ip[$i] = intval($ip[$i], 16);
+								$ip[$j] = intval($ip[$j], 16);
 							}
 
 							$sprintf = '%016b%016b%016b%016b%016b%016b%016b%016b';
diff --git a/tests/codeigniter/core/Input_test.php b/tests/codeigniter/core/Input_test.php
index 159a877..a632ee6 100644
--- a/tests/codeigniter/core/Input_test.php
+++ b/tests/codeigniter/core/Input_test.php
@@ -206,9 +206,23 @@
 		$this->markTestSkipped('TODO: Find a way to test HTTP headers');
 	}
 
-	public function test_ip_address()
+	// --------------------------------------------------------------------
+	
+	public function test_get_request_header()
 	{
+		//TODO: Find a way to test HTTP headers
+		$this->assertNull($this->input->get_request_header('test'));
+	}
+	
+	// --------------------------------------------------------------------
+	
+	public function test_ip_address()
+	{	
+		$this->input->ip_address = TRUE;
+		$this->assertTrue($this->input->ip_address());
+		
 		// 127.0.0.1 is set in our Bootstrap file
+		$this->input->ip_address = FALSE;
 		$this->assertEquals('127.0.0.1', $this->input->ip_address());
 
 		// Invalid
@@ -216,9 +230,46 @@
 		$this->input->ip_address = FALSE; // reset cached value
 		$this->assertEquals('0.0.0.0', $this->input->ip_address());
 
-		// TODO: Add proxy_ips tests
-
-		// Back to reality
+		$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
+		
+		// Proxy_ips tests
+		$this->input->ip_address = FALSE;
+		$this->ci_set_config('proxy_ips', '127.0.0.3, 127.0.0.4, 127.0.0.2');
+		$_SERVER['HTTP_CLIENT_IP'] = '127.0.0.2'; 
+		$this->assertEquals('127.0.0.1', $this->input->ip_address());
+		
+		// Invalid spoof
+		$this->input->ip_address = FALSE;
+		$this->ci_set_config('proxy_ips', 'invalid_ip_address');
+		$_SERVER['HTTP_CLIENT_IP'] = 'invalid_ip_address'; 
+		$this->assertEquals('127.0.0.1', $this->input->ip_address()); 
+		
+		$this->input->ip_address = FALSE;
+		$this->ci_set_config('proxy_ips', 'http://foo/bar/baz, 127.0.0.1/1');
+		$_SERVER['HTTP_CLIENT_IP'] = '127.0.0.1'; 
+		$this->assertEquals('127.0.0.1', $this->input->ip_address());
+		
+		$this->input->ip_address = FALSE;
+		$this->ci_set_config('proxy_ips', 'http://foo/bar/baz, 127.0.0.1/1');
+		$_SERVER['HTTP_CLIENT_IP'] = '127.0.0.2'; 
+		$this->assertNotEquals('127.0.0.1', $this->input->ip_address());
+		
+		//IPv6
+		$this->input->ip_address = FALSE;
+		$this->ci_set_config('proxy_ips', 'FE80:0000:0000:0000:0202:B3FF:FE1E:8329/1, FE80:0000:0000:0000:0202:B3FF:FE1E:8300/2');
+		$_SERVER['HTTP_CLIENT_IP'] = 'FE80:0000:0000:0000:0202:B3FF:FE1E:8300'; 
+		$_SERVER['REMOTE_ADDR'] = 'FE80:0000:0000:0000:0202:B3FF:FE1E:8329';
+		$this->assertEquals('FE80:0000:0000:0000:0202:B3FF:FE1E:8300', $this->input->ip_address());
+		
+		$this->input->ip_address = FALSE;
 		$_SERVER['REMOTE_ADDR'] = '127.0.0.1'; // back to reality
 	}
-}
+	
+	// --------------------------------------------------------------------
+	
+	public function test_user_agent()
+	{
+		$_SERVER['HTTP_USER_AGENT'] = 'test';
+		$this->assertEquals('test', $this->input->user_agent());
+	}
+}
\ No newline at end of file
